package com.boss.example.service;

import com.boss.example.entity.dto.UserDTO;
import java.util.List;

/**
 * @author Hu_liantian
 * @date 2020/8/5
 */
public interface UserService {

    /**
     * 登录
     * @param username username
     * @param userPwd userPwd
     * @return Result<User>
     */
    UserDTO userLogin(String username, String userPwd);

    /**
     * 注销
     * @param username username
     * @return Result<>
     */
    int userDelete(String username);

    /**
     * 注册
     * @param userDTO
     * @return
     */
    int userInsert(UserDTO userDTO);

    /**
     * 修改用户密码
     * @param userDTO
     * @return
     */
    int userUpdatePwd(UserDTO userDTO);

    /**
     * 修改用户权限
     * @param userDTO
     * @return
     */
    int userUpdateRole(UserDTO userDTO);

    /**
     * 查询所有用户
     * @return Result<>
     */
    List<UserDTO> getAllUser();

    /**
     * 根据ID查询用户
     * @param userId userId
     * @return Result<>
     */
    UserDTO getUserById(Integer userId);

    /**
     * 根据ID判断用户是否为管理员
     * @param userId userId
     * @return Result<UserDTO>
     */
    UserDTO getUserIsAdmin(Integer userId);

}
